GAN的基本原理

machine learning GAN 算法分享 ML NCE


GAN 简介

GAN的工作原理

generator 和 discriminator相互博弈:

Alt text
(D和G的博弈训练, 图片来自于“李宏毅 深度学习”)

Minimax Game:

在origin GAN中:
一般而言,G是neural network, 它从一个先验分布,生成x,上式写成:

GAN的应用示例

目前,Tensorflow 1.4已经提供了一些gan的实现,在tf.contrib.gan中;另外,有很多开源的GAN的实现。(示例略)

MNIST

DCGAN

GAN与ML

LR判别模型

样本实例集合:
利用最大似然(ML), 求解判别模型:

事实上,当假设空间有足够强的表征能力,(比如真实分布确实由LR模型生成,或者是深层神经网络,可以表征任意函数);通过求导,可以得到最优解为:
(额,貌似推理了一句废话,不过这个公式正说明,当我们采用ML或者cross entropy的时候,最优解正是后验概率(条件概率),前提是有足够强的表征能力。推导这个式子,也可以和后面推导相互验证)
观察式子:

对于GAN而言,某种程度上,D是h:

事实上,训练判别器D的过程,正是使用ML求解二分类问题

(同样的思想,有“NCE”, “negative sampling”)

ori-GAN和ML分别衡量不同的divergency

ML and KL divergency

未知的真实分布:
样本实例集:, 采样自
假设空间中的生成模型:来模拟
根据ML原则:

所以,对生成模型采用ML原则,实际最小化KL距离。

origin-GAN and JS Divergency

  1. 给定G, 求解;此时衡量之间JS divergency
    类比前面的LR的最优解表示在先验概率相等的前提下,后验概率
    此时,
  2. 求解G使得

GAN的训练过程

Alt text
GAN的完整训练过程。图片来自于“李宏毅 深度学习”课程)
(Ian Goodfellow, 在原始论文中改训练G为, 这个训练目标是从收敛的角度来考虑的)

GAN的特别之处在哪里?

Alt text
生成模型的分类树。图片来自于“Ian GoodFellow 的NIPS2016 GAN tutorial ”)

那么能否在GAN的框架下,将ML与原始GAN统一起来?能否使用其它的概率距离度量?

fGAN: GAN的统一框架

f-divergency

定义:

例子:

Fenchel Conjugate:

(注:也是convex, 它是一系列仿射函数的max)

事实上,Fenchel Conjugate定义了“斜率(梯度)到截距”的一种映射
当固定, , 通过对x求导得到:

上式可以看做参数方程的形式定义了,它的几何意义:对任意的x,作f(x)的切线,斜率为t, 与y的截距的负数为; 它定义了斜率和负截距的映射关系。

重要的是,上述映射关系的对偶性质!

与GAN的联系

这里,令D(x) = t, 上式的下界可以写作:
(事实上,如果D(x)表征能力足够强,最优解为,但是这个无法直接求解 )
对于GAN而言:
写成minimax形式:

按需挑选不同的f-divergency:

Alt text

Alt text
(不同的f-divergency对应的GAN, 图片来自于论文 f-GAN)

WGAN:解决收敛性问题

origin-GAN面临的收敛问题

理想情况:D 指导往真实分布(dashed)运动

Alt text
实际情况:D训练越好,完美区分,梯度消失,无指导能力

Alt text

考虑”parallel lines distribution”, 二维分布, :

Earth Mover’s Distance

定义:对于概率分布P,Q,average distance of a plan :

Earth Mover’s Distance:
示意图如下:
本质上,就是一个联合概率,它的边缘分布分别为

Alt text
Moving Plan, 图片来自于“李宏毅 深度学习”)
在上面的parallel line distribution例子里,

WGAN

论文中证明,当我们采用Earth Mover’s Distance来度量距离,相应的GAN形式如下(Kantorovich-Rubinstein duality, 来自论文“Optimal Transport: Old and New”):

其中,1-lipschitz 是指:
该条件的限制,防止了D(x)的变化过于剧烈。这里,整个优化目标有点“返璞归真”的意思了。
WGAN的论文中,使用weight-clipping近似1-lipschitz 条件

Alt text

improved WGAN

的生成:对于, 计算之间的随机点,作为

Mode collapse

问题

Alt text

Alt text

可尝试的方案

Alt text
cascade ensemble 示意图,来自“李宏毅 深度学习”)

GAN的家族

Modify the optimization of GAN Different structure from the original GAN
fGAN Conditional GAN
WGAN Semi-GAN
Least-square GAN InfoGAN
Loss Sensitive GAN BiGAN
Energy-based GAN Cycle GAN
Boundary-Seeking GAN IRGAN
Unroll GAN VAE GAN